perm filename IDEAS[S87,JMC] blob
sn#839165 filedate 1987-04-22 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 ideas[s87,jmc] must and might as well
C00004 ENDMK
C⊗;
ideas[s87,jmc] must and might as well
In order to move D, A must first be moved.
A might as well be moved to the table.
∀a.loc(D,s)=l ∧ above(A,D,s) ∧ loc(D,result(a,s))=l1 ⊃ ∃l.member(move(A,l),a)
April 22
The formalism should equally allowing concluding that something can't
be done with a given set of actions. This is a necessary step toward
deciding to look for more actions, for example. The method is presumably
inductive, choose a predicate that is true in the initial situation
and is preserved by the actions and which isn't true in situations
in which the goal is achieved. This requires the ability to circumscribe
the set of available actions.
Deciding that something can't be done with the actions being considered
should be easy. The simplet case is when we have a fluent that no
available action changes. Maybe we can reduce more complicated cases
to this one by defining homomorphisms.